﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace StudyIO
{
    public partial class frmFile : Form
    {
        public frmFile()
        {
            InitializeComponent();
        }

        private void btnCreate_Click(object sender, EventArgs e)
        {
            File.Create("temp.txt");
            MessageBox.Show("创建成功!");
        }



        /// <summary>
        /// 判断temp.txt 文件是否存在
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnExisted_Click(object sender, EventArgs e)
        {
            bool flag = File.Exists("temp.txt");

            if (flag)
            {
                MessageBox.Show("temp.txt文件存在");
            }
            else
            {
                MessageBox.Show("temp.txt文件不存在");
            }
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (File.Exists("temp.txt"))
            {
                File.Delete("temp.txt");
                MessageBox.Show("删除成功!");
            }
            else
            {
                MessageBox.Show("文件不存在!");
            }
        }

        private void btnRead_Click(object sender, EventArgs e)
        {
            //将文件读取为字节流
            byte[] bytes = File.ReadAllBytes("temp.txt");
            string content1 = Encoding.Default.GetString(bytes);

            //读取全部的文本
            string content2 = File.ReadAllText("temp.txt", Encoding.Default);

            //读取所有行
            string[] strs = File.ReadAllLines("temp.txt", Encoding.Default);
        }

        private void btnWrite_Click(object sender, EventArgs e)
        {
            //通过字节流的方式写入
            byte[] bytes = Encoding.Default.GetBytes("通过字节流的方式写入的内容!");
            File.WriteAllBytes("temp.txt", bytes);

            //通过文本的方式写入
            File.WriteAllText("temp.txt", "通过文本的方式写入的内容!", Encoding.Default);

            //行写入
            string[] strs = { "第一行", "第二行" };
            File.WriteAllLines("temp.txt", strs, Encoding.Default);

            MessageBox.Show("写入成功!");
        }

        private void btnAppend_Click(object sender, EventArgs e)
        {
            //直接追加文本
            File.AppendAllText("temp.txt", "我是追加的内容", Encoding.Default);

            //追加行
            string[] strs = { "追加的第一行", "追加的第二行" };
            File.AppendAllLines("temp.txt", strs, Encoding.Default);
        }
    }
}
